home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1996 February
/
EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso
/
earcd
/
comm2
/
zpont311.lha
/
zpoint-3.11
/
Rexx
/
DateDelete.zprx
< prev
next >
Wrap
Text File
|
1995-03-09
|
3KB
|
126 lines
/*
PANDORA@CIRCUS.zer.sub.org
---------------------------------------------------------------------
Date-Delete-ZP.rexx V1.0 by Theo Penning
Zweck: Löschen von Nachrichten in allen oder einzelnen Brettern
die über 5 Tage alt sind.
Nachrichten mit Archivflag sind davon nicht betroffen :)
Dieses Script auf eine F-Taste von ZPoint legen
F1:SYS:rexxc/rx ZP:AREXX/Date-Delete-ZP.rexx
und einfach mal testen :-))
Keine Angst ohne Bestätigung wird nichts gelöscht.
Hardware-Voraussetzung für dieses Script ist eine interne Uhr...grins
---------------------------------------------------------------------
*/
OPTIONS RESULTS
PARSE ARG zpPort
ADDRESS VALUE zpPort
Dat = date("S",date("I")-5) /* Aktuelles Datum minus 5 Tage */
/* anstatt -5 kann man natürlich auch -30 oder mehr eingeben */
tag = substr(dat,7,2)
mon = substr(dat,5,2)
Jahr = substr(dat,1,4)
DATUM = tag || "." || mon || "." || Jahr
WHICHLEVEL
LEVEL = RESULT
IF LEVEL = "BOARDMENU" THEN DO
REQUESTRESPONSE "Nachrichten in ALLEN Brettern bis zum " || DATUM || " löschen ?"
IF RC = 0 THEN EXIT
COUNT ALL
BRETTER = RESULT
DO N = 4 to BRETTER
JUMPTOBOARD N
IF RC = 0 THEN EXIT
/*
-------------------------------------------------------------
|ab hier wäre es schön wenn die folgenden Befehle auch |
|interaktiv funktionieren würden. Ich meine das ZPoint zwar |
|alle folgenden Befehle in den einzelnen Brettern ausführt, |
|aber dabei im Brettmenü bleibt. |
|Ich nehme an das nun mal wieder Ralphs Programmierkünste |
|gefragt sind :-) |
-------------------------------------------------------------
*/
ENTERBOARD
IF RC = 0 THEN EXIT
COUNT ALL
ANZAHL = RESULT
DO I = 1 to ANZAHL
JUMPTOMESSAGE i
IF RC = 0 THEN EXIT
MESSAGEINFO DATE
IF substr(RESULT,1,8) <= Dat THEN DELETE ONE /* Datum prüfen */
END
BOARDMENU
IF RC = 0 THEN EXIT
END
EXIT
END
IF LEVEL = "BOARD" THEN DO
REQUESTRESPONSE "Nachrichten in DIESEM Brett bis zum " || DATUM || " löschen ?"
IF RC = 0 THEN EXIT
COUNT ALL /* Nachrichten zählen */
ANZAHL = RESULT
DO I = 1 to anzahl
JUMPTOMESSAGE I
IF RC = 0 THEN EXIT /* wenn keine Nachricht - abbrechen */
MESSAGEINFO DATE /* Datum abfragen */
IF substr(RESULT,1,8) <= Dat THEN DELETE ONE /* Datum prüfen */
END
/*
----------------------------------------------------------------------
| Hier wäre es angebracht den Befehl AUFRÄUMEN als Arexx-Command zur |
| Verfügung zu haben. Aber vieleicht baut der Ralph den ja noch ein |
| Nicht wahr Ralphi ...GRINS |
----------------------------------------------------------------------
*/
EXIT
END
IF LEVEL = "MAINMENU" THEN DO
REQUESTNOTIFY "Nur im Brett oder Brettmenü !"
EXIT
END
EXIT